package com.zgh.init;//package com.zgh.init;
//
//import com.alibaba.dubbo.common.extension.Activate;
//import com.alibaba.dubbo.rpc.*;
//import com.xxg.base.module.Operater;
//import com.xxg.exception.BaseException;
//import com.xxg.util.SystemConstant;
//import com.zgh.manager.module.InterfaceLog;
//
//@Activate(group = "provider")
//public class InterfaceFilter implements Filter {
//
//	@Override
//	public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
//
//		InterfaceLog interfaceLog=new InterfaceLog();
//		interfaceLog.setInterfaceName(invoker.getInterface().getSimpleName());
//		interfaceLog.setMethodName(invocation.getMethodName());
//		long t1=System.currentTimeMillis();
//
//		try{
//			//对操作者进行判断
//			Object[] objs=invocation.getArguments();
//			Class[] clzs=invocation.getParameterTypes();
//			if(objs!=null && objs.length>0){
//				for(int i=0;i<objs.length;i++){
//					if(clzs[i].equals(Operater.class)){
//						if(objs[i]==null || ((Operater)objs[i]).getUserId()<=0){
//							throw new BaseException(BaseException.NO_OPERATER, BaseException.NO_OPERATER_MESSAGE);
//						}
//					}
//				}
//			}
//			return invoker.invoke(invocation);
//		}finally{
//			long t2=System.currentTimeMillis();
//			interfaceLog.setTime(t2-t1);
//			interfaceLog.setMessage("");
//			interfaceLog.setResult(SystemConstant.SUCCESS_STRING);
//			UpLoadTask.insertInterfaceLog(interfaceLog);
//		}
//	}
//}
